package com.ruoyi.im.mapper;

import com.ruoyi.im.domain.Blacklist;
import org.apache.ibatis.annotations.Param;

import java.util.List;

/**
 * 黑名单 数据层
 * 
 * @author lxs
 * @date 2018-11-09
 */
public interface BlacklistMapper 
{
	/**
     * 查询黑名单信息
     * 
     * @param id 黑名单ID
     * @return 黑名单信息
     */
	public Blacklist selectBlacklistById(Long id);
	
	/**
     * 查询黑名单列表
     * 
     * @param blacklist 黑名单信息
     * @return 黑名单集合
     */
	public List<Blacklist> selectBlacklistList(Blacklist blacklist);
	
	/**
     * 新增黑名单
     * 
     * @param blacklist 黑名单信息
     * @return 结果
     */
	public int insertBlacklist(Blacklist blacklist);
	
	/**
     * 修改黑名单
     * 
     * @param blacklist 黑名单信息
     * @return 结果
     */
	public int updateBlacklist(Blacklist blacklist);
	
	/**
     * 删除黑名单
     * 
     * @param id 黑名单ID
     * @return 结果
     */
	public int deleteBlacklistById(Long id);
	
	/**
     * 批量删除黑名单
     * 
     * @param ids 需要删除的数据ID
     * @return 结果
     */
	public int deleteBlacklistByIds(String[] ids);

	/**
	 * 根据用户id查询自己拉入黑名单好友数据
	 * @param userId
	 * @return
	 */
	List<Blacklist> selectBlacklistListByUserId(@Param("userId") String userId);

	/**
	 * 根据用户id及好友id查询是否拉入了黑名单
	 * @param userId
	 * @param pullerUserId
	 * @return
	 */
	Blacklist findBlacklistByUserIdAndpullerUserId(@Param("userId") String userId, @Param("pullerUserId") String pullerUserId);
}